This invention relates to coding of information using a pseudo-random source.
A pseudo-random source (PRS) of values can be used, for example, for applications in which the pseudo-random value can be regenerated, but the value cannot be predicted, or such prediction would be very difficult or time consuming. In some examples, the pseudo-random value depends on an input value, often referred to as a “challenge” value. In some examples, the pseudo-random values comprise bits that are generated by circuitry that implements a function depend on device-specific characteristics, for example, based on device-to-device fabrication variation among a set of devices that are fabricated in a common manner, for example, according to the same semiconductor masks and fabrication conditions. Some examples of such functions have been referred to as Physical Unclonable Functions (PUFs). Device-specific quantities can be generated in ways that depend on device-specific characteristics, for example, based on device-to-device fabrication variation among a set of devices that are fabricated in a common manner, for example, according to the same semiconductor masks and fabrication conditions. Examples of the device-specific characteristics include time-delay along electrical signal paths, and voltage thresholds of active semiconductor devices. In a number of previous approaches, the device specific quantities are binary, for example, based on a comparison of pairs of underlying device-specific characteristics. For example, US Pat. Pub. 2003/0204743A1, titled “Authentication of Integrated Circuits,” describes an approach in which a device-specific bit is generated according to the relative delay along two delay paths. As another example, US Pat. Pub. 2007/0250938A1, titled “Signal Generator Based Device Security,” describes an approach in oscillation frequencies are compared to determine device-specific bits.
In some techniques, regeneratable pseudo-random bits are used to encode a hidden value so that the encoding (e.g., exclusive OR of pseudo-random bits and hidden value) can be disclosed without directly disclosing the hidden value, and so that the device can use the encoding and re-generated pseudo-random bits to re-generate the hidden value. In some examples, error correction techniques are used to account for differences between the initially generated pseudo-random bits and the re-regenerated pseudo-random bits. For instance, an error correction syndrome may be calculated for the pseudo-random bits, and stored, along with an XOR mask. A degree to which information about the hidden value is “leaked” through knowledge of the error correction syndrome and XOR mask can depend on the statistical characteristics of the pseudo-random values, for instance according to bias characteristics of the pseudo-random values.